/*
 * DirTile.h
 *
 *  Created on: Jan 4, 2009
 *      Author: Carmine Red
 */

#ifndef DIRTILE_H_
#define DIRTILE_H_

#include "Prismatic.h"
class Prismatic;

#include "enum.h"
#include "Defines.h"

class DirTile
{
private:

	// actual coordinates
	//int xPos;
	//int yPos;

	// direction, if any. NODIRECTION, or 0, means no direction(false)
	int dir;

	// set to true if its the entrance tile for the level
	bool isEntrance;

	// set to true if the tile is being moused over
	bool isMousedOver;

	// set to true for Tiles that are actually set on the game instead
	//		of merely being previewed
	bool isSet;

	// data on its visuals?
	IDirect3DTexture9* m_DTSprite;
	IDirect3DTexture9* m_DTESprite;
	IDirect3DTexture9* m_DTPSprite;
	IDirect3DTexture9* m_DTEPSprite;
	D3DXVECTOR3 m_DTPos;

public:
	DirTile();
	~DirTile();

	void setxPos(float value) {m_DTPos.x = value;}
	void setyPos(float value) {m_DTPos.y = value;}
	float getxPos() {return m_DTPos.x;}
	float getyPos() {return m_DTPos.y;}
	void setIsEntrance(bool value) {isEntrance = value;}
	bool getisEntrance() {return isEntrance;}

	void setIsMousedOver(bool value) {isMousedOver = value;}
	bool getisMousedOver() {return isMousedOver;}

	void setIsSet(bool value) {isSet = value;}
	bool getIsSet() {return isSet;}

	void setDir(int value) {dir = value;}
	int getDir() {return dir;}
	void incrementDir();

	void render(Prismatic* game);
	void renderPreview(Prismatic* game);	// for previewed DirTile placement
};

#endif /* DIRTILE_H_ */
